Data communication systems exchange user data for user devices to provide various data communication services. The user devices may be phones, computers, media players, and the like. The data communication services might be media streaming, audio/video conferencing, data messaging, or internet access. Network Function Virtualization (NFV) computer systems deliver these data communication services.
NFV computer systems have Virtual Network Functions (VNFs) that perform like typical communication network elements or portions of these network elements. The VNFs run under the control of a hypervisor or operating system that controls VNF access to NFV hardware (circuitry, memory, communication interfaces). The VNFs communicate with one another and with other systems over NFV virtual Switches (vSWs) implemented by the hypervisor or operating system.
NFV computer systems implement hardware trust. Hardware trust entails the physical verification of physically-embedded read-only hardware identifiers. A hardware trust controller in the hardware reads its hardware identifier and hashes it with a random number. The hardware trust controller then transfers the hash result for external hardware trust verification by a hardware trust monitor. The hardware trust monitor performs a corresponding hash with the hardware identifier and the random number to verify the hash result and hardware trust. The hardware trust monitor distributes hardware trust data to the hardware trust controllers.
NFV computer systems implement multi-core Central Processing Units (CPUs). Some of the CPU cores are System-on-a-Chip (SOC) cores that run NFV Virtual Network Functions (VNFs). Some of the CPU cores are Network-on-a-Chip (NOC) cores that interconnect the SOCs with each other and with external data systems. Unfortunately, the SOCs and NOCs in a multi-core CPU do not effectively and efficiently provide hardware trusted communications to the NFV VNFs.